package com.zhitan.ems.third.haiwell;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.zhitan.ems.common.extra.utils.HttpUtils;

import cn.hutool.json.JSONObject;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class HaiwellBaseApi {
	private static String   Host="https://cloud.haiwell.com/api/";
	private static String   getTagsValue =Host+"project/machine/datagroup/getTagsValue";
	private static String   setTagsValue =Host+"project/machine/datagroup/setTagsValue";
	public static JSONObject getTagsValue(String account,String machineCode,String  privateKey,String webapiKey,String groupTag,
			List<String> tagsParams) throws Exception {	
		JSONObject params=new JSONObject();
		params.set("account", account);
		params.set("machineCode", machineCode);
		params.set("privateKey", privateKey);
		params.set("webapiKey", webapiKey);
		params.set("groupTag", groupTag);
		params.set("tags", tagsParams);
		JSONObject reslut=HttpUtils.doPostJson(getTagsValue,params);
		return reslut;
	}
	public static String getTagsValue(String account,String machineCode,String  privateKey,String webapiKey,String groupTag) throws Exception {	
		JSONObject params=new JSONObject();
		params.set("account", account);
		params.set("privateKey", privateKey);
		params.set("webapiKey", webapiKey);
		params.set("groupTag", groupTag);
		List<String> tagsParams=new ArrayList<>();
		tagsParams.add("1号泵_I_A");
		tagsParams.add("1号泵_I_B");
		tagsParams.add("1号泵_I_C");
		tagsParams.add("1号泵_U_A");
		tagsParams.add("1号泵_U_B");
		tagsParams.add("1号泵_U_C");
		tagsParams.add("1号泵_U_A");
		tagsParams.add("1号泵_sumFlow");
		tagsParams.add("1号泵_insFlow");
		tagsParams.add("1号泵_pre");
		tagsParams.add("1号泵_temp1");
		tagsParams.add("1号泵_temp2");
		tagsParams.add("1号泵_temp3");
		tagsParams.add("1号泵_zhendong1");
		tagsParams.add("1号泵_zhendong2");
		tagsParams.add("1号泵_zhendong3");
		tagsParams.add("1号泵_zhendong4");
		tagsParams.add("1号泵_runCon");
		tagsParams.add("1号泵_stopCon");
		tagsParams.add("1号泵_errCon");
		tagsParams.add("1号泵_waterLevel");
		tagsParams.add("1号泵_waterLevel1");
		params.set("tags", tagsParams);
		
		params.set("machineCode", machineCode);
		Object reslut=HttpUtils.doPostJson(getTagsValue,params);
		return reslut.toString();
	}
	public static JSONObject setTagsValue(String account,String  privateKey,String webapiKey,String machineCode,String groupTag,
			HashMap<String, String> commds) throws Exception {	
		JSONObject params=new JSONObject();
		params.set("account", account);
		params.set("machineCode", machineCode);
		params.set("privateKey", privateKey);
		params.set("webapiKey", webapiKey);
		params.set("groupTag", groupTag);
		params.set("tags", commds);
		JSONObject reslut=HttpUtils.doPostJson(setTagsValue,params);
		return reslut;
	}
	public static JSONObject setOpen(String account,String machineCode,String  privateKey,String webapiKey,String groupTag) throws Exception {	
		JSONObject params=new JSONObject();
		params.set("account", account);
		params.set("privateKey", privateKey);
		params.set("webapiKey", webapiKey);
		params.set("groupTag", groupTag);
		params.set("machineCode", machineCode);
		HashMap<String, String> commds=new HashMap<>();
		commds.put("1号泵_run", "1");
		params.set("tags", commds);
		JSONObject reslut=HttpUtils.doPostJson(setTagsValue,params);
		return reslut;
	}
	public static JSONObject setStop(String account,String machineCode,String  privateKey,String webapiKey,String groupTag) throws Exception {	
		JSONObject params=new JSONObject();
		params.set("account", account);
		params.set("privateKey", privateKey);
		params.set("webapiKey", webapiKey);
		params.set("groupTag", groupTag);
		params.set("machineCode", machineCode);
		HashMap<String, String> commds=new HashMap<>();
		commds.put("1号泵_stop", "1");
		params.set("tags", commds);
		JSONObject reslut=HttpUtils.doPostJson(setTagsValue,params);
		return reslut;
	}
}
